module asterisk
{

	
	module type
	
	{
		module basic
		
		{
			struct cdr
			{
				string src;
				string dst;
				long billsec;
				long duration;
				
			};
			
			struct channel
			{
				string name;
				string exten;
				asterisk::type::basic::cdr cdr;
				string bridged;
				
			};
			
			
		};	
			
		module comp
		{
			
			module list
			{
				
				sequence<asterisk::type::basic::channel> channel;
				
			};
			
		};	
	
		
		
	};
	
	
	
	
	module bridge
	{
		interface channel
		{
			asterisk::type::basic::channel getbyname(string name);
			asterisk::type::basic::channel getbyexten(string exten);
			asterisk::type::comp::list::channel get();
			
		};	
		
		module sip
		{
			interface channel
			{
				
				
			};
			
		};
		
	};
	
	
	

	
	
	

};
